home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 145 / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin / tools / sharp / xc2102i.lzh / XC2102.XDF / INCLUDE / DOSLIB.H < prev    next >
Text File  |  1993-09-15  |  12KB  |  641 lines

  1. /*
  2.  * doslib.h X68k XC Compiler v2.11 Copyright 1990,91,92,93 SHARP/Hudson
  3.  */
  4. #ifndef    __DOSLIB_H
  5. #define    __DOSLIB_H
  6.  
  7. #include    <class.h>
  8.  
  9. #ifdef    FORWORD
  10. #define    __PROTO_TYPE
  11. #endif
  12. #ifdef    __STDC__
  13. #define    __PROTO_TYPE
  14. #endif
  15.  
  16. struct    PDBADR    {
  17.     UINT    env;
  18.     UINT    exit;
  19.     UINT    ctrlc;
  20.     UINT    errexit;
  21.     UINT    comline;
  22.     UBYTE    handle[12];
  23.     UINT    bss;
  24.     UINT    heep;
  25.     UINT    stack;
  26.     UINT    usp;
  27.     UINT    ssp;
  28.     UWORD    sr;
  29.     UWORD    abort_sr;
  30.     UINT    abort_ssp;
  31.     UINT    trap10;
  32.     UINT    trap11;
  33.     UINT    trap12;
  34.     UINT    trap13;
  35.     UINT    trap14;
  36.     UINT    osflg;
  37.     UBYTE    reserve[28];
  38.     UBYTE    exe_path[68];
  39.     UBYTE    exe_name[24];
  40. };
  41.  
  42. struct    INPPTR    {
  43.     UBYTE    max;
  44.     UBYTE    length;
  45.     UBYTE    buffer[256];
  46. };
  47.  
  48. struct    COMLINE    {
  49.     UBYTE    len;
  50.     UBYTE    buffer[255];
  51. };
  52.  
  53. struct    NAMESTBUF    {
  54.     UBYTE    flg;
  55.     UBYTE    drive;
  56.     UBYTE    path[65];
  57.     UBYTE    name1[8];
  58.     UBYTE    ext[3];
  59.     UBYTE    name2[10];
  60. };
  61.  
  62. struct    FREEINF    {
  63.     UWORD    free;
  64.     UWORD    max;
  65.     UWORD    sec;
  66.     UWORD    byte;
  67. };
  68.  
  69. struct    NAMECKBUF    {
  70.     UBYTE    drive[2];
  71.     UBYTE    path[65];
  72.     UBYTE    name[19];
  73.     UBYTE    ext[5];
  74. };
  75.  
  76. struct    DPBPTR    {
  77.     UBYTE    drive;
  78.     UBYTE    unit;
  79.     UWORD    byte;
  80.     UBYTE    sec;
  81.     UBYTE    shift;
  82.     UWORD    fatsec;
  83.     UBYTE    fatcount;
  84.     UBYTE    fatlen;
  85.     UWORD    dircount;
  86.     UWORD    datasec;
  87.     UWORD    maxfat;
  88.     UWORD    dirsec;
  89.     INT    driver;
  90.     UBYTE    id;
  91.     UBYTE    flg;
  92.     struct    DPBPTR    *next;
  93.     UWORD    dirfat;
  94.     UBYTE    dirbuf[64];
  95. };
  96.  
  97. struct    FILBUF    {
  98.     UBYTE    os[21];
  99.     UBYTE    atr;
  100.     UWORD    time;
  101.     UWORD    date;
  102.     UINT    filelen;
  103.     UBYTE    name[23];
  104. };
  105.  
  106. struct    EXFILBUF {
  107.     UBYTE    os[21];
  108.     UBYTE    atr;
  109.     UWORD    time;
  110.     UWORD    date;
  111.     UINT    filelen;
  112.     UBYTE    name[23];
  113.     UBYTE   drive[2];
  114.     UBYTE    path[65];
  115.     UBYTE    exos[21];
  116. };
  117.  
  118. struct    DREGS    {
  119.     int    d0;
  120.     int    d1;
  121.     int    d2;
  122.     int    d3;
  123.     int    d4;
  124.     int    d5;
  125.     int    d6;
  126.     int    d7;
  127.     int    a0;
  128.     int    a1;
  129.     int    a2;
  130.     int    a3;
  131.     int    a4;
  132.     int    a5;
  133.     int    a6;
  134. };
  135.  
  136. struct    PRCCTRL    {
  137.     long    length;
  138.     UBYTE    *buf_ptr;
  139.     UWORD    command;
  140.     UWORD    your_id;
  141. };
  142.  
  143. struct    PRCPTR    {
  144.     struct    PRCPTR    *next_ptr;
  145.     UBYTE    wait_flg;
  146.     UBYTE    counter;
  147.     UBYTE    max_counter;
  148.     UBYTE    doscmd;
  149.     UINT    psp_id;
  150.     UINT    usp_reg;
  151.     UINT    d_reg[8];
  152.     UINT    a_reg[7];
  153.     UWORD    sr_reg;
  154.     UINT    pc_reg;
  155.     UINT    ssp_reg;
  156.     UWORD    indosf;
  157.     UINT    indosp;
  158.     struct    PRCCTRL    *buf_ptr;
  159.     UBYTE    name[16];
  160.     long    wait_time;
  161. };
  162.  
  163. struct    FCBS    {
  164.     UBYTE    hnd_cnt; /* handle use count */
  165.     UBYTE    dev_type; /* bit 7=0..file                  1..CHAR I/O  */
  166.               /* bit 6=write_flg               |   input_EOF */
  167.               /* bit 5=special_drive           |   raw_mode  */
  168.               /* bit 4~0  drive no(a=0)        |bit 3~0 =clock,null,stdout,stdin */
  169.     UBYTE * dev_adr; /* or dpb_adr */
  170.     UBYTE os_work[30];
  171.     UBYTE name1[8];
  172.     UBYTE ext[3];
  173.     UBYTE atr;
  174.     UBYTE name2[10];
  175.     UWORD time;
  176.     UWORD date;
  177.     UWORD start_fat;
  178.     long file_len;
  179.     UBYTE os_work2[28];
  180. };
  181.  
  182. struct    OSDPBPTR {
  183.     UBYTE    drive;
  184.     UBYTE    unit;
  185.     INT    driver;
  186.     struct    DPBPTR    *next;
  187.     UWORD    byte;
  188.     UBYTE    sec;
  189.     UBYTE    shift;
  190.     UWORD    fatsec;
  191.     UBYTE    fatcount;
  192.     UBYTE    fatlen;
  193.     UWORD    dircount;
  194.     UWORD    datasec;
  195.     UWORD    maxfat;
  196.     UWORD    dirsec;
  197.     UBYTE    id;
  198.     UBYTE    sect_sft;
  199.     UWORD    new_fat;
  200.     UBYTE    resv[26];
  201. };
  202.  
  203. #define BREAKCK_CHECK    -1
  204. #define BREAKCK_KILL    2
  205. #define BREAKCK_ON    1
  206. #define BREAKCK_OFF    0
  207. #define CTRL_C_CHECK    0x01ff
  208. #define CTRL_C_ON    0x0101
  209. #define CTRL_C_OFF    0x0100
  210. #define CTRL_N_CHECK    0x02ff
  211. #define CTRL_N_ON    0x0201
  212. #define CTRL_N_OFF    0x0200
  213. #define CTRL_P_CHECK    0x03ff
  214. #define CTRL_P_ON    0x0301
  215. #define CTRL_P_OFF    0x0300
  216. #define CTRL_Q_CHECK    0x04ff
  217. #define CTRL_Q_ON    0x0401
  218. #define CTRL_Q_OFF    0x0400
  219. #define CTRL_S_CHECK    0x05ff
  220. #define CTRL_S_ON    0x0501
  221. #define CTRL_S_OFF    0x0500
  222.  
  223. #ifdef    __PROTO_TYPE
  224.  
  225. void    EXIT(void);
  226. int    GETCHAR(void);
  227. void    PUTCHAR(int);
  228. int    COMINP(void);
  229. void    COMOUT(int);
  230. void    PRNOUT(int);
  231. int    INPOUT(int);
  232. int    INKEY(void);
  233. int    GETC(void);
  234. void    PRINT(UBYTE *);
  235. int    GETS(struct INPPTR *);
  236. int    KEYSNS(void);
  237.  
  238. int    KFLUSHGP(void);
  239. int    KFLUSHIO(int);
  240. int    KFLUSHIN(void);
  241. int    KFLUSHGC(void);
  242. int    KFLUSHGS(struct INPPTR *);
  243.  
  244. void    FFLUSH(void);
  245. int    CHGDRV(int);
  246. int    DRVCTRL(int, int);
  247. int    CONSNS(void);
  248. int    PRNSNS(void);
  249. int    CINSNS(void);
  250. int    COUTSNS(void);
  251.  
  252. int    FATCHK(UBYTE *, UWORD *);
  253. int    FATCHK2(UBYTE *, UWORD *, int);
  254.  
  255. int    HENDSPMO(void);
  256. int    HENDSPMP(int, UBYTE *);
  257. int    HENDSPMR(int, UBYTE *);
  258. void    HENDSPMC(void);
  259. int    HENDSPIO(void);
  260. int    HENDSPIP(int, UBYTE *);
  261. int    HENDSPIR(int, UBYTE *);
  262. void    HENDSPIC(int);
  263. int    HENDSPSO(void);
  264. int    HENDSPSP(int, UBYTE *);
  265. int    HENDSPSR(int, UBYTE *);
  266. void    HENDSPSC(void);
  267.  
  268. int    CURDRV(void);
  269. int    GETSS(struct INPPTR *);
  270. int    FGETC(int);
  271. int    FGETS(struct INPPTR *, int);
  272. void    FPUTC(int, int);
  273. void    FPUTS(UBYTE *, int);
  274. void    ALLCLOSE(void);
  275. int    SUPER(int);
  276.  
  277. void    FNCKEYGT(int, UBYTE *);
  278. void    FNCKEYST(int, UBYTE *);
  279.  
  280. int    C_PUTC(int);
  281. int    C_PRINT(UBYTE *);
  282. int    C_COLOR(int);
  283. int    C_LOCATE(int, int);
  284. int    C_DOWN_S(void);
  285. int    C_UP_S(void);
  286. int    C_UP(int);
  287. int    C_DOWN(int);
  288. int    C_RIGHT(int);
  289. int    C_LEFT(int);
  290. int    C_CLS_ED(void);
  291. int    C_CLS_ST(void);
  292. int    C_CLS_AL(void);
  293. int    C_ERA_ED(void);
  294. int    C_ERA_ST(void);
  295. int    C_ERA_AL(void);
  296. int    C_INS(int);
  297. int    C_DEL(int);
  298. int    C_FNKMOD(int);
  299. int    C_WINDOW(int, int);
  300. int    C_WIDTH(int);
  301. int    C_CURON(void);
  302. int    C_CUROFF(void);
  303.  
  304. int    K_KEYINP(void);
  305. int    K_KEYSNS(void);
  306. int    K_SFTSNS(void);
  307. int    K_KEYBIT(int);
  308. void    K_INSMOD(int);
  309.  
  310. int    INTVCS(int, char *);
  311. void    PSPSET(struct PDBADR *);
  312. int    GETTIM2(void);
  313. int    SETTIM2(int);
  314. int    NAMESTS(UBYTE *, struct NAMESTBUF *);
  315. int    GETDATE(void);
  316. int    SETDATE(int);
  317. int    GETTIME(void);
  318. int    SETTIME(int);
  319. void    VERIFY(int);
  320. int    DUP0(int, int);
  321. int    VERNUM(void);
  322. void    KEEPPR(int, int);
  323. int    GETDPB(int, struct DPBPTR *);
  324. int    BREAKCK(int);
  325. void    DRVXCHG(int, int);
  326. int    INTVCG(int);
  327. int    DSKFRE(int, struct FREEINF *);
  328. int    NAMECK(UBYTE *, struct NAMECKBUF *);
  329. int    MKDIR(UBYTE *);
  330. int    RMDIR(UBYTE *);
  331. int    CHDIR(UBYTE *);
  332. int    CREATE(UBYTE *, int);
  333. int    OPEN(UBYTE *, int);
  334. int    CLOSE(int);
  335. int    READ(int, UBYTE *, int);
  336. int    WRITE(int, UBYTE *, int);
  337. int    DELETE(UBYTE *);
  338. int    SEEK(int, int, int);
  339. int    CHMOD(UBYTE *, int);
  340.  
  341. int    IOCTRLGT(int);
  342. int    IOCTRLST(int, int);
  343. int    IOCTRLRH(int, UBYTE *, int);
  344. int    IOCTRLWH(int, UBYTE *, int);
  345. int    IOCTRLRD(int, UBYTE *, int);
  346. int    IOCTRLWD(int, UBYTE *, int);
  347. int    IOCTRLIS(int);
  348. int    IOCTRLOS(int);
  349. int    IOCTRLDVGT(int);
  350. int    IOCTRLFDGT(int);
  351. int    IOCTRLRTSET(int, int);
  352. int    IOCTRLDVCTL(int, int, UBYTE *);
  353. int    IOCTRLFDCTL(int, int, UBYTE *);
  354.  
  355. int    DUP(int);
  356. int    DUP2(int,int);
  357. int    CURDIR(int, UBYTE *);
  358. int    MALLOC(int);
  359. int    MFREE(int);
  360. int    SETBLOCK(int, int);
  361.  
  362. int    LOADEXEC(UBYTE *, struct COMLINE *, UBYTE *);
  363. int    LOAD(UBYTE *, struct COMLINE *, UBYTE *);
  364. int    PATHCHK(UBYTE *, struct COMLINE *, UBYTE *);
  365. int    LOADONLY(UBYTE *, UBYTE *, UBYTE *);
  366. int    EXECONLY(int);
  367. int    BINDNO(UBYTE *, UBYTE *);
  368. int    EXEC2(int, UBYTE *, UBYTE *, UBYTE **);
  369.  
  370. void    EXIT2(int);
  371. int    WAIT(void);
  372. int    FILES(struct FILBUF *, UBYTE *, int);
  373. int    EXFILES(struct EXFILBUF *, UBYTE *, int);
  374. int    NFILES(struct FILBUF *);
  375. int    EXNFILES(struct EXFILBUF *);
  376. int    SETPDB(struct PDBADR *);
  377. struct    PDBADR    *GETPDB(void);
  378. int    SETENV(UBYTE *, UBYTE *, UBYTE *);
  379. int    GETENV(UBYTE *, UBYTE *, UBYTE *);
  380. int    VERIFYG(void);
  381.  
  382. int    COMMON_CK(UBYTE *);
  383. int    COMMON_RD(UBYTE *, int, UBYTE *, int);
  384. int    COMMON_WT(UBYTE *, int, UBYTE *, int);
  385. int    COMMON_LK(UBYTE *, int, int, int);
  386. int    COMMON_FRE(UBYTE *, int, int, int);
  387. int    COMMON_DEL(UBYTE *);
  388.  
  389. int    MOVE(UBYTE *, UBYTE *);
  390. int    RENAME(UBYTE *, UBYTE *);
  391.  
  392. int    FILEDATE(int, int);
  393. int    MALLOC2(int, int);
  394. int    MALLOC0(int, int, int);
  395. int    MAKETMP(UBYTE *, int);
  396. int    NEWFILE(UBYTE *, int);
  397.  
  398. int    LOCK(int, int, int);
  399. int    UNLOCK(int, int, int);
  400.  
  401. int    MAKEASSIGN(UBYTE *, UBYTE *, int);
  402. int    GETASSIGN(UBYTE *, UBYTE *);
  403. int    RASSIGN(UBYTE *);
  404.  
  405. int    FFLUSH_SET(int);
  406. int    OS_PATCH(int,char *);
  407. struct FCBS *  GET_FCB_ADR(int);
  408. int    S_MALLOC(int, int);
  409. int    S_MALLOC0(int, int, int);
  410. int    S_MFREE(int);
  411. int    S_PROCESS(int, int, int, int);
  412.  
  413. void    DISKRED(UBYTE *, int, int, int);
  414. void    DISKRED2(UBYTE *, int, int, int);
  415. void    DISKWRT(UBYTE *, int, int, int);
  416. void    DISKWRT2(UBYTE *, int, int, int);
  417. int    INDOSFLG(void);
  418. void    SUPER_JSR(void (*)(void), struct DREGS *, struct DREGS *);
  419. int    BUS_ERR(UBYTE *, UBYTE *, int);
  420.  
  421. int    OPEN_PR(UBYTE *, int, int, int, int, int, struct PRCCTRL *, long);
  422. int    KILL_PR(void);
  423. int    GET_PR(int, struct PRCPTR *);
  424. int    SUSPEND_PR(int);
  425. long    SLEEP_PR(long);
  426. int    SEND_PR(int, int, int, UBYTE *, long);
  427. long    TIME_PR(void);
  428. void    CHANGE_PR(void);
  429.  
  430. #undef    __PROTO_TYPE
  431. #else
  432.  
  433. void    EXIT();
  434. int    GETCHAR();
  435. void    PUTCHAR();
  436. int    COMINP();
  437. void    COMOUT();
  438. void    PRNOUT();
  439. int    INPOUT();
  440. int    INKEY();
  441. int    GETC();
  442. void    PRINT();
  443. int    GETS();
  444. int    KEYSNS();
  445.  
  446. int    KFLUSHGP();
  447. int    KFLUSHIO();
  448. int    KFLUSHIN();
  449. int    KFLUSHGC();
  450. int    KFLUSHGS();
  451.  
  452. void    FFLUSH();
  453. int    CHGDRV();
  454. int    DRVCTRL();
  455. int    CONSNS();
  456. int    PRNSNS();
  457. int    CINSNS();
  458. int    COUTSNS();
  459.  
  460. int    FATCHK();
  461. int    FATCHK2();
  462.  
  463. int    HENDSPMO();
  464. int    HENDSPMP();
  465. int    HENDSPMR();
  466. void    HENDSPMC();
  467. int    HENDSPIO();
  468. int    HENDSPIP();
  469. int    HENDSPIR();
  470. void    HENDSPIC();
  471. int    HENDSPSO();
  472. int    HENDSPSP();
  473. int    HENDSPSR();
  474. void    HENDSPSC();
  475.  
  476. int    CURDRV();
  477. int    GETSS();
  478. int    FGETC();
  479. int    FGETS();
  480. void    FPUTC();
  481. void    FPUTS();
  482. void    ALLCLOSE();
  483. int    SUPER();
  484.  
  485. void    FNCKEYGT();
  486. void    FNCKEYST();
  487.  
  488. int    C_PUTC();
  489. int    C_PRINT();
  490. int    C_COLOR();
  491. int    C_LOCATE();
  492. int    C_DOWN_S();
  493. int    C_UP_S();
  494. int    C_UP();
  495. int    C_DOWN();
  496. int    C_RIGHT();
  497. int    C_LEFT();
  498. int    C_CLS_ED();
  499. int    C_CLS_ST();
  500. int    C_CLS_AL();
  501. int    C_ERA_ED();
  502. int    C_ERA_ST();
  503. int    C_ERA_AL();
  504. int    C_INS();
  505. int    C_DEL();
  506. int    C_FNKMOD();
  507. int    C_WINDOW();
  508. int    C_WIDTH();
  509. int    C_CURON();
  510. int    C_CUROFF();
  511.  
  512. int    K_KEYINP();
  513. int    K_KEYSNS();
  514. int    K_SFTSNS();
  515. int    K_KEYBIT();
  516. void    K_INSMOD();
  517.  
  518. int    INTVCS();
  519. void    PSPSET();
  520. int    GETTIM2();
  521. int    SETTIM2();
  522. int    NAMESTS();
  523. int    GETDATE();
  524. int    SETDATE();
  525. int    GETTIME();
  526. int    SETTIME();
  527. void    VERIFY();
  528. int    DUP0();
  529. int    VERNUM();
  530. void    KEEPPR();
  531. int    GETDPB();
  532. int    BREAKCK();
  533. void    DRVXCHG();
  534. int    INTVCG();
  535. int    DSKFRE();
  536. int    NAMECK();
  537. int    MKDIR();
  538. int    RMDIR();
  539. int    CHDIR();
  540. int    CREATE();
  541. int    OPEN();
  542. int    CLOSE();
  543. int    READ();
  544. int    WRITE();
  545. int    DELETE();
  546. int    SEEK();
  547. int    CHMOD();
  548.  
  549. int    IOCTRLGT();
  550. int    IOCTRLST();
  551. int    IOCTRLRH();
  552. int    IOCTRLWH();
  553. int    IOCTRLRD();
  554. int    IOCTRLWD();
  555. int    IOCTRLIS();
  556. int    IOCTRLOS();
  557. int    IOCTRLDVGT();
  558. int    IOCTRLFDGT();
  559. int    IOCTRLRTSET();
  560. int    IOCTRLDVCTL();
  561. int    IOCTRLFDCTL();
  562.  
  563. int    DUP();
  564. int    DUP2();
  565. int    CURDIR();
  566. int    MALLOC();
  567. int    MFREE();
  568. int    SETBLOCK();
  569.  
  570. int    LOADEXEC();
  571. int    LOAD();
  572. int    PATHCHK();
  573. int    LOADONLY();
  574. int    EXECONLY();
  575. int    BINDNO();
  576. int    EXEC2();
  577.  
  578. void    EXIT2();
  579. int    WAIT();
  580. int    FILES();
  581. int    EXFILES();
  582. int    NFILES();
  583. int    EXNFILES();
  584. int    SETPDB();
  585. struct    PDBADR    *GETPDB();
  586. int    SETENV();
  587. int    GETENV();
  588. int    VERIFYG();
  589.  
  590. int    COMMON_CK();
  591. int    COMMON_RD();
  592. int    COMMON_WT();
  593. int    COMMON_LK();
  594. int    COMMON_FRE();
  595. int    COMMON_DEL();
  596.  
  597. int    MOVE();
  598. int    RENAME();
  599.  
  600. int    FILEDATE();
  601. int    MALLOC2();
  602. int    MALLOC0();
  603. int    MAKETMP();
  604. int    NEWFILE();
  605.  
  606. int    LOCK();
  607. int    UNLOCK();
  608.  
  609. int    MAKEASSIGN();
  610. int    GETASSIGN();
  611. int    RASSIGN();
  612.  
  613. int    FFLUSH_SET();
  614. int    OS_PATCH();
  615. struct FCBS *  GET_FCB_ADR();
  616. int    S_MALLOC();
  617. int    S_MALLOC0();
  618. int    S_MFREE();
  619. int    S_PROCESS();
  620.  
  621. void    DISKRED();
  622. void    DISKRED2();
  623. void    DISKWRT();
  624. void    DISKWRT2();
  625. int    INDOSFLG();
  626. void    SUPER_JSR();
  627. int    BUS_ERR();
  628.  
  629. int    OPEN_PR();
  630. int    KILL_PR();
  631. int    GET_PR();
  632. int    SUSPEND_PR();
  633. long    SLEEP_PR();
  634. int    SEND_PR();
  635. long    TIME_PR();
  636. void    CHANGE_PR();
  637.  
  638. #endif
  639.  
  640. #endif
  641.